package com.ddyx.generator.code.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 属性
 * </p>
 *
 * @author agula
 * @since 2019-08-06
 */
@TableName("p_goods_property")
public class GoodsProperty extends Model<GoodsProperty> {

    private static final long serialVersionUID=1L;

    /**
     * 属性名ID
     */
    @TableId(value = "property_id", type = IdType.AUTO)
    private Integer propertyId;

    /**
     * 类目ID
     */
    private Integer categoryId;

    /**
     * 属性代码
     */
    private String propertyCode;

    /**
     * 属性名称
     */
    private String propertyName;

    /**
     * 属性描述
     */
    private String propertyDesc;

    /**
     * 属性分组,0:基本属性，1:自定义属性，默认0
     */
    private Integer propertyGroup;

    /**
     * 别名
     */
    private String aliasName;

    /**
     * 输入类型,text:输入类型，radio：单选类型，checkbox：多选类型，默认text
     */
    private String inputType;

    /**
     * 是否SKU属性,0:否,1:是，默认0
     */
    private Integer isSku;

    /**
     * 是否必填属性,0:否,1:是，默认0
     */
    private Integer isRequired;

    /**
     * 是否多值属性
     */
    private Integer isMultiple;

    /**
     * 是否输入属性,0:否,1:是，默认1
     */
    private Integer isInput;

    /**
     * 是否禁用,0：否（禁用状态），1：是（启用状态），默认0
     */
    private Integer isLocked;

    /**
     * 是否删除,0：否，1：是，默认0
     */
    private Integer isDeleted;

    /**
     * 排序号
     */
    private Integer sortNo;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;


    public Integer getPropertyId() {
        return propertyId;
    }

    public void setPropertyId(Integer propertyId) {
        this.propertyId = propertyId;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public String getPropertyCode() {
        return propertyCode;
    }

    public void setPropertyCode(String propertyCode) {
        this.propertyCode = propertyCode;
    }

    public String getPropertyName() {
        return propertyName;
    }

    public void setPropertyName(String propertyName) {
        this.propertyName = propertyName;
    }

    public String getPropertyDesc() {
        return propertyDesc;
    }

    public void setPropertyDesc(String propertyDesc) {
        this.propertyDesc = propertyDesc;
    }

    public Integer getPropertyGroup() {
        return propertyGroup;
    }

    public void setPropertyGroup(Integer propertyGroup) {
        this.propertyGroup = propertyGroup;
    }

    public String getAliasName() {
        return aliasName;
    }

    public void setAliasName(String aliasName) {
        this.aliasName = aliasName;
    }

    public String getInputType() {
        return inputType;
    }

    public void setInputType(String inputType) {
        this.inputType = inputType;
    }

    public Integer getIsSku() {
        return isSku;
    }

    public void setIsSku(Integer isSku) {
        this.isSku = isSku;
    }

    public Integer getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(Integer isRequired) {
        this.isRequired = isRequired;
    }

    public Integer getIsMultiple() {
        return isMultiple;
    }

    public void setIsMultiple(Integer isMultiple) {
        this.isMultiple = isMultiple;
    }

    public Integer getIsInput() {
        return isInput;
    }

    public void setIsInput(Integer isInput) {
        this.isInput = isInput;
    }

    public Integer getIsLocked() {
        return isLocked;
    }

    public void setIsLocked(Integer isLocked) {
        this.isLocked = isLocked;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getSortNo() {
        return sortNo;
    }

    public void setSortNo(Integer sortNo) {
        this.sortNo = sortNo;
    }

    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    @Override
    protected Serializable pkVal() {
        return this.propertyId;
    }

    @Override
    public String toString() {
        return "GoodsProperty{" +
        "propertyId=" + propertyId +
        ", categoryId=" + categoryId +
        ", propertyCode=" + propertyCode +
        ", propertyName=" + propertyName +
        ", propertyDesc=" + propertyDesc +
        ", propertyGroup=" + propertyGroup +
        ", aliasName=" + aliasName +
        ", inputType=" + inputType +
        ", isSku=" + isSku +
        ", isRequired=" + isRequired +
        ", isMultiple=" + isMultiple +
        ", isInput=" + isInput +
        ", isLocked=" + isLocked +
        ", isDeleted=" + isDeleted +
        ", sortNo=" + sortNo +
        ", gmtCreate=" + gmtCreate +
        ", gmtModified=" + gmtModified +
        "}";
    }
}
